function N = reference_basis_function_3d(basis_type)

switch basis_type
    case "P1"
        N = cell(4,1);
        N{1} = @(xi,eta,zeta) 1 - xi - eta - zeta;
        N{2} = @(xi,eta,zeta) xi;
        N{3} = @(xi,eta,zeta) eta;
        N{4} = @(xi,eta,zeta) zeta;

    case "P2"

    otherwise
        error("Invalid basis type.");
end

end